function [chan_coef,delay_taps,Doppler_taps,taps]=Gen_delay_Doppler_channel_parameters(N,M,car_fre,delta_f,T,max_speed,way)
    if way == 1
        one_delay_tap = 1/(M*delta_f);
        one_doppler_tap = 1/(N*T);
        %delays = [0 30 70 90 110 190 410]*10^(-9);%EPA model 
        delays = [0.0016 0.0042 0.0091  0.0175	0.0276]/2;%EVA model
        % delays = [0 50 120 200 230 500 1600 2300 5000]*10^(-9);%ETU model
        taps = length(delays);% number of delay taps
        delay_taps = round(delays/one_delay_tap);%assuming no fraction for the delay
        %pdp = [0 -1.0 -2.0 -3.0 -8.0 -17.2 -20.8];% EPA power delay profile
        pdp = [-13.6345	-11.4405	-12.0822	-17.7120	-18.5388]+3;
        %pdp = [-1 -1 -1 0 0 0  -3 -5 -7];% ETU power delay profile
        pow_prof = 10.^(pdp/10);
        pow_prof = pow_prof/sum(pow_prof);%normalization of power delay profile
        chan_coef = sqrt(pow_prof).*(sqrt(1/2) * (randn(1,taps)+1i*randn(1,taps)));%channel coef. for each path
        max_UE_speed = max_speed*(1000/3600);

        Doppler_vel = (max_UE_speed*car_fre)/(1500);
        max_Doppler_tap = Doppler_vel/one_doppler_tap;
        Doppler_taps = (max_Doppler_tap*cos(2*pi*rand(1,taps)));%Doppler taps using Jake's spectrum
    elseif way==2
        one_delay_tap = 1/(M*delta_f);
        one_doppler_tap = 1/(N*T);
        %delays = [0 30 70 90 110 190 410]*10^(-9);%EPA model 
        delays = [0.0016 0.0042 0.0091  0.0175	0.0276];%EVA model
        % delays = [0 50 120 200 230 500 1600 2300 5000]*10^(-9);%ETU model
        taps = length(delays);% number of delay taps
        delay_taps = round(delays/one_delay_tap);%assuming no fraction for the delay
        %pdp = [0 -1.0 -2.0 -3.0 -8.0 -17.2 -20.8];% EPA power delay profile
        pdp = [-13.6345	-11.4405	-12.0822	-17.7120	-18.5388];
        %pdp = [-1 -1 -1 0 0 0  -3 -5 -7];% ETU power delay profile
        pow_prof = 10.^(pdp/10);
        pow_prof = pow_prof/sum(pow_prof);%normalization of power delay profile
        chan_coef = sqrt(pow_prof).*(sqrt(1/2) * (randn(1,taps)+1i*randn(1,taps)));%channel coef. for each path
        max_UE_speed = max_speed*(1000/3600);
        Doppler_vel = (max_UE_speed*car_fre)/(1500);
        max_Doppler_tap = Doppler_vel/one_doppler_tap;
        Doppler_taps = (max_Doppler_tap*cos(2*pi*rand(1,taps)));%Doppler taps using Jake's spectrum
    elseif way==3
         one_delay_tap = 1/(M*delta_f);
        one_doppler_tap = 1/(N*T);
        %delays = [0 30 70 90 110 190 410]*10^(-9);%EPA model 
        delays = [0.0016 0.0042 0.0091  0.0175	0.0276]*1.2;%EVA model
        % delays = [0 50 120 200 230 500 1600 2300 5000]*10^(-9);%ETU model
        taps = length(delays);% number of delay taps
        delay_taps = round(delays/one_delay_tap);%assuming no fraction for the delay
        %pdp = [0 -1.0 -2.0 -3.0 -8.0 -17.2 -20.8];% EPA power delay profile
        pdp = [-13.6345	-14.4405	-16.0822	-17.7120	-18.5388]-5;
       %pdp = [-1 -1 -1 0 0 0  -3 -5 -7];% ETU power delay profile
        pow_prof = 10.^(pdp/10);
        pow_prof = pow_prof/sum(pow_prof);%normalization of power delay profile
        chan_coef = sqrt(pow_prof).*(sqrt(1/2) * (randn(1,taps)+1i*randn(1,taps)));%channel coef. for each path
        max_UE_speed = max_speed*(1000/3600);
        Doppler_vel = (max_UE_speed*car_fre)/(1500);
        max_Doppler_tap = Doppler_vel/one_doppler_tap;
        Doppler_taps = (max_Doppler_tap*cos(2*pi*rand(1,taps)));%Doppler taps using Jake's spectrum
    elseif way==4
         one_delay_tap = 1/(M*delta_f);
        one_doppler_tap = 1/(N*T);
        %delays = [0 30 70 90 110 190 410]*10^(-9);%EPA model 
        delays = [0.0016 0.0042 0.0091  0.0175	0.0276];%EVA model
        % delays = [0 50 120 200 230 500 1600 2300 5000]*10^(-9);%ETU model
        taps = length(delays);% number of delay taps
        delay_taps = round(delays/one_delay_tap);%assuming no fraction for the delay
        %pdp = [0 -1.0 -2.0 -3.0 -8.0 -17.2 -20.8];% EPA power delay profile
        pdp = [-13.6345	-11.4405	-12.0822	-17.7120	-18.5388];
        %pdp = [-1 -1 -1 0 0 0  -3 -5 -7];% ETU power delay profile
        pow_prof = 10.^(pdp/10);
        pow_prof = pow_prof/sum(pow_prof);%normalization of power delay profile
        chan_coef = sqrt(pow_prof).*(sqrt(1/2) * (randn(1,taps)+1i*randn(1,taps)));%channel coef. for each path
        max_UE_speed = max_speed*(1000/3600);
        Doppler_vel = (max_UE_speed*car_fre)/(1500);
        max_Doppler_tap = Doppler_vel/one_doppler_tap;
        Doppler_taps = (max_Doppler_tap*cos(2*pi*rand(1,taps)));%Doppler taps using Jake's spectrum
    elseif way==5
         one_delay_tap = 1/(M*delta_f);
        one_doppler_tap = 1/(N*T);
        %delays = [0 30 70 90 110 190 410]*10^(-9);%EPA model 
        delays = [0.0016 0.0042 0.0091  0.0175	0.0276];%EVA model
        % delays = [0 50 120 200 230 500 1600 2300 5000]*10^(-9);%ETU model        
        inter = 1:1/2:5;
        delay_inter =interp1(delays,inter);
        delays = delay_inter;        
        taps = length(delays);% number of delay taps
        delay_taps = round(delays/one_delay_tap);%assuming no fraction for the delay
        %pdp = [0 -1.0 -2.0 -3.0 -8.0 -17.2 -20.8];% EPA power delay profile
        pdp = [-13.6345	-11.4405	-12.0822	-17.7120	-18.5388];
        pdp_inter = interp1(pdp,inter);
        pdp = pdp_inter;
        %pdp = [-1 -1 -1 0 0 0  -3 -5 -7];% ETU power delay profile
        pow_prof = 10.^(pdp/10);
        pow_prof = pow_prof/sum(pow_prof);
        chan_coef = sqrt(pow_prof).*(sqrt(1/2) * (randn(1,taps)+1i*randn(1,taps)));
        max_UE_speed = max_speed*(1000/3600);
        Doppler_vel = (max_UE_speed*car_fre)/(1500);
        max_Doppler_tap = Doppler_vel/one_doppler_tap;
        Doppler_taps = (max_Doppler_tap*cos(2*pi*rand(1,taps)));% Jake
    elseif way==6
         one_delay_tap = 1/(M*delta_f);
        one_doppler_tap = 1/(N*T);
        %delays = [0 30 70 90 110 190 410]*10^(-9);%EPA model 
        delays = [0.0016 0.0042 0.0091  0.0175	0.0276];%EVA model
        % delays = [0 50 120 200 230 500 1600 2300 5000]*10^(-9);%ETU model        
        inter = 1:1/3:5;
        delay_inter =interp1(delays,inter);
        delays = delay_inter;       
        taps = length(delays);% number of delay taps
        delay_taps = round(delays/one_delay_tap);%assuming no fraction for the delay
        %pdp = [0 -1.0 -2.0 -3.0 -8.0 -17.2 -20.8];% EPA power delay profile
        pdp = [-13.6345	-11.4405	-12.0822	-17.7120	-18.5388];
        pdp_inter = interp1(pdp,inter);
        pdp = pdp_inter;
        %pdp = [-1 -1 -1 0 0 0  -3 -5 -7];% ETU power delay profile
        pow_prof = 10.^(pdp/10);
        pow_prof = pow_prof/sum(pow_prof);
        chan_coef = sqrt(pow_prof).*(sqrt(1/2) * (randn(1,taps)+1i*randn(1,taps)));
        max_UE_speed = max_speed*(1000/3600);
        Doppler_vel = (max_UE_speed*car_fre)/(1500);
        max_Doppler_tap = Doppler_vel/one_doppler_tap;
        Doppler_taps = (max_Doppler_tap*cos(2*pi*rand(1,taps)));%jake谱
    elseif way==7
        one_delay_tap = 1/(M*delta_f);
        one_doppler_tap = 1/(N*T);
        %delays = [0 30 70 90 110 190 410]*10^(-9);%EPA model 
        delays = [0.0016 0.0042 0.0091  0.0175	0.0276];%EVA model
        % delays = [0 50 120 200 230 500 1600 2300 5000]*10^(-9);%ETU model
        taps = length(delays);% number of delay taps
        delay_taps = round(delays/one_delay_tap);%assuming no fraction for the delay
        %pdp = [0 -1.0 -2.0 -3.0 -8.0 -17.2 -20.8];% EPA power delay profile
        pdp = [-13.6345	-11.4405	-12.0822	-17.7120	-18.5388];
        %pdp = [-1 -1 -1 0 0 0  -3 -5 -7];% ETU power delay profile
        pow_prof = 10.^(pdp/10);
        pow_prof = pow_prof/sum(pow_prof);%normalization of power delay profile
        chan_coef = sqrt(pow_prof).*(sqrt(1/2) * (randn(1,taps)+1i*randn(1,taps)));%channel coef. for each path
        max_UE_speed = max_speed*(1000/3600);
        Doppler_k=(max_UE_speed/1500)*[1,0.9,0.8,0.9,1];
        Doppler_vel = Doppler_k*car_fre;

        Doppler_taps = Doppler_vel/one_doppler_tap;
%         Doppler_taps = (max_Doppler_tap*cos(2*pi*rand(1,taps)));%Doppler taps using Jake's spectrum
    
    end
end